#ifndef EXTREME_C_EXAMPLES_CHAPTER_8_3_STUDENT_H
#define EXTREME_C_EXAMPLES_CHAPTER_8_3_STUDENT_H

//前向声明
struct student_t;

//内存分配函数
struct student_t* student_new();

//构造函数
void student_ctor(struct student_t*, 
                  const char*,  // 名
                  const char*,  // 姓
                  unsigned int, // 出生年月
                  const char*,  // 学号
                  unsigned int);// 通过学分

//析构函数
void student_dtor(struct student_t*);

//行为函数
void student_get_first_name(struct student_t*, char*);
void student_get_last_name(struct student_t*, char*);

unsigned int student_get_birth_year(struct student_t*);
void student_get_student_number(struct student_t*, char*);
unsigned int student_get_passed_creadits(struct student_t*);

#endif